package com.foundationmade.newbiz.core.archive.domain;

import java.io.Serializable;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

/**
 * 멀티 파일 업로드를 위한 멀티파트 도메인으로 영속성 대상은 아니다.
 * @author Devcken
 */
public class Multipart implements Serializable
{
	private static final long serialVersionUID = 7678705727223094170L;
	
	/**
	 * 멀티파트 요청으로부터 전달된 파일 목록을 나타낸다.
	 */
	private CommonsMultipartFile[] archives;
	
	/**
	 * 업로드하려는 파일의 고유 번호를 나타낸다.
	 */
	private String fileId;
	
	/**
	 * 업로드하려는 파일 파트의 고유 번호를 나타낸다.
	 */
	private int blobIndex;
	
	/**
	 * 업로드하려는 파일의 파일 파트 개수를 나타낸다.
	 */
	private int blobCount;
	
	/**
	 * 업로드하려는 파일의 크기를 나타낸다.
	 */
	private long fileSize;
	
	/**
	 * 업로드하려는 파일명을 나타낸다.
	 */
	private String fileName;

	@JsonIgnore
	public CommonsMultipartFile[] getArchives()
	{
		return archives;
	}

	public void setArchives(CommonsMultipartFile[] archives)
	{
		this.archives = archives;
	}
	
	public String getFileId()
	{
		return fileId;
	}

	public void setFileId(String fileId)
	{
		this.fileId = fileId;
	}

	public int getBlobIndex()
	{
		return blobIndex;
	}

	public void setBlobIndex(int blobIndex)
	{
		this.blobIndex = blobIndex;
	}

	public int getBlobCount()
	{
		return blobCount;
	}

	public void setBlobCount(int blobCount)
	{
		this.blobCount = blobCount;
	}

	public long getFileSize()
	{
		return fileSize;
	}

	public void setFileSize(long fileSize)
	{
		this.fileSize = fileSize;
	}

	public String getFileName()
	{
		return fileName;
	}

	public void setFileName(String fileName)
	{
		this.fileName = fileName;
	}
}